package com.castle.fortress.admin.form.mapper;

import com.castle.fortress.admin.form.dto.FormModelDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 表模型管理Mapper 接口
 *
 * @author castle
 * @since 2021-11-10
 */
@Mapper
public interface FormModelMapper  {
    /**
     * 获取所有的表名
     * @return
     */
    List<String> allTableNames();

    /**
     * 创建表
     * @param formModelDto
     * @return
     */
    boolean createTable(@Param("formModelDto") FormModelDto formModelDto);

    /**
     * 删除表结构
     * @param tbName
     * @return
     */
    boolean dropTable(@Param("tbName")String tbName);

    /**
     * 增加表字段
     * @param formModelDto
     * @return
     */
    boolean alterTableAdd(@Param("formModelDto") FormModelDto formModelDto);

    /**
     * 修改表字段
     * @param formModelDto
     * @return
     */
    boolean alterTableModify(@Param("formModelDto") FormModelDto formModelDto);

    /**
     * 删除表字段
     * @param formModelDto
     * @return
     */
    boolean alterTableDrop(@Param("formModelDto") FormModelDto formModelDto);


}

